Computer systems generally have several levels of memory; each level of memory can provide differing levels of speed, memory capacity, physical size, cost, power requirements, voltage levels and/or volatility. These aspects are often at odds with each other. For example, increases in speed often lead to corresponding increases in power requirements. For this reason, many systems use a variety of different memories within the same system. From the perspective of a computer program these memories are often hidden in the sense that common data is temporarily cached in smaller and faster memory circuits. This common data is mapped to larger and slower memory circuits, which are accessed when the faster memory does not contain the desired data. The common data, if changed in the cached memory, can eventually be written to the larger and slower memory circuits. This allows for the slower memory's access time to be avoided or hidden, so long as the faster memory contains the appropriately mapped data.
Computer systems generally contain some type of mass-storage nonvolatile memory that is able to retain stored data when the computer system is powered down. This type of memory is referred to as nonvolatile memory because it is able to maintain data integrity when the computer system is not powered. Nonvolatile memory, however, may be slower by orders of magnitude relative to various volatile memories. Yet, nonvolatile memory can also be less expensive (per unit of memory capacity) and/or less power-hungry. A common type of nonvolatile data-storage device is a hard disc drive (HDD) that uses a rotating magnetic media for data storage. HDDs are used for home-computers, servers, workstations, consumer-electronics and various other devices. Under normal operation, a computer system transfers data, requiring nonvolatile/temporary retention, from temporary memory to a HDD before the computer system is powered down. This allows for the system's data to be retained after the power is removed from the computer system. When the computer system is subsequently powered up, this data can be accessed and used by the computer system.
HDDs with rotating magnetic media have been in use for many years and have undergone various improvements including efficiency, reliability and data storage capacity. Various applications, however, are beginning to use other types of mass data storage devices with more frequency. Solid State Drives (SSDs), using electronic nonvolatile memory, such as flash, are one such type of device, and are attractive for many applications. Speed, cost and power requirements factor into the selection of data storage devices such as SSDs or HDDs.
As mentioned, SSDs use electronic nonvolatile memory for storage. In many electronic nonvolatile memories, such as flash, erasing, programming, or reading data can require different, usually higher, voltages than what is supplied to the memory device via its core and/or input-output (I/O) voltage supply connections. On early-generation flash components this was accomplished by one or more additional voltage rails, for instance by a voltage rail commonly known as Vpp. With the incorporation of internal voltage boosters, such as switched-capacitor charge pumps, the Vpp voltage rail has been eliminated on newer data memory designs to the point where now virtually all modern data memory components generate these higher voltages internally. This typically simplified the system design by reducing the number of required externally-applied voltages.
Unfortunately, the internal voltage generation circuitry within these data memory devices may be inefficient, especially when compared to external voltage booster circuitry. Internal boost regulators are generally limited to what can be readily fabricated on a silicon die. Additionally, the voltage-generation circuitry within these data memories require die space and may increase the device's cost. This additional per-device cost can be especially costly when many data memories are used within a data storage device. Moreover, the voltages generated internally may not be optimal for storage performance. For instance, the charge-pump circuit may be limited in its output voltage, and this limitation may require longer erase or programming times.